#ifndef VISUALCOMPONENTCONECTOR_H_
#define VISUALCOMPONENTCONECTOR_H_

#include "gui/VisualComponents/VisualComponent.h"
#include "model/Diagram.h"

class VisualComponentVia;
class VisualDiagramComponent;

class VisualComponentConector: public VisualComponent {
private:
    bool m_isEntry;
	int m_number;
	Diagram* m_diagram;
	Connector* m_connector;
	VisualComponentVia* m_via;
	VisualDiagramComponent* m_parent;
public:
    VisualComponentConector(VisualDiagramComponent *parent, Connector *connector, int nro, bool esEntrada, Diagram* diagram);
    virtual ~VisualComponentConector();
    virtual InfluenceArea getInfluenceArea();
    virtual void on_expose(Cairo::RefPtr<Cairo::Context> ptrContext);
    virtual void on_move(int mouseX, int mouseY);
    VisualDiagramComponent *getParent();
    virtual void draw(Cairo::RefPtr<Cairo::Context> ptrContext);
    bool isEditable();
    virtual int getX() const;
    virtual void setX(int x);
    virtual int getY() const;
    virtual void setY(int y);
    VisualComponentVia *getVia() const;
    void setVia(VisualComponentVia *via);
    Connector *getConnector() const;
    void setConnector(Connector *connector);

};

#endif /* VISUALCOMPONENTCONECTOR_H_ */
